package com.zhang.modules.dict.service.impl;

import com.zhang.common.jpa.entity.DTO;
import com.zhang.common.jpa.service.impl.BaseServiceImpl;
import com.zhang.modules.dict.entity.DictData;
import com.zhang.modules.dict.entity.DictType;
import com.zhang.modules.dict.entity.dto.DictDataDto;
import com.zhang.modules.dict.rep.DictDataRep;
import com.zhang.modules.dict.service.IDictDataService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class DictDataService extends BaseServiceImpl<DictDataRep, DictData,String> implements IDictDataService {


    @Override
    public <R extends DTO> R convert2DtoSingle(DictData orginInfo) {
        DictDataDto dto = new DictDataDto();
        BeanUtils.copyProperties(orginInfo,dto);
        return (R) dto;
    }

    @Override
    public List<DictDataDto> AllDataByType(String dictType) {
        List<DictData> DBinfo = getRep().findByDictTypeEquals(dictType);
        ArrayList<DictDataDto> result = new ArrayList<>();
        DBinfo.forEach(item ->{
            DictDataDto dto = new DictDataDto();
            BeanUtils.copyProperties(item,dto);
            result.add(dto);
        });
        return result;
    }
}
